package main; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import models.Account; import models.Bank; import panels.AdminPanel; import panels.CustomerPanel; public class LoginFrame extends JFrame implements ActionListener { private Bank bank = new Bank(); private JPanel loginPanel = new JPanel(); private JButton customer = new JButton("Customer"); private JButton admin = new JButton("Admin"); public LoginFrame(Bank bank) { this.bank = bank; System.out.println(bank.getAccounts().size()); setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); customer.setActionCommand("customer"); customer.addActionListener(this); admin.setActionCommand("admin"); admin.addActionListener(this); loginPanel.setLayout(new GridLayout(1, 2)); loginPanel.setVisible(true); loginPanel.add(customer); loginPanel.add(admin); add(loginPanel); } @Override public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("customer")) { Account foundAccount = null; boolean found = false; String pin = JOptionPane.showInputDialog("Enter your PIN"); for (Account a : bank.getAccounts()) { if (pin.equals(a.getPin())) { foundAccount = a; found = true; } } if (found) { setSize(400, 300); loginPanel.setVisible(false); add(new CustomerPanel(bank, foundAccount)); } } else if (e.getActionCommand().equals("admin")) { loginPanel.setVisible(false); setSize(850, 500); setLocationRelativeTo(null); add(new AdminPanel(bank)); } } }